package com.hyt.it.ogt.kq.service.gov.model.dto.admission;

import java.time.LocalDateTime;
import java.util.Date;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.hyt.it.ogt.kq.common.utils.LocalDateTimeConverter;

import cn.hutool.core.date.DatePattern;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

/**
 * 准考证查看下载信息实体
 */
@Data
@Accessors(chain = true)
@ApiModel(value = "准考证查看下载信息实体DTO", description = "准考证查看下载信息实体")
public class ExportTicketViewItemDTO {

    @ColumnWidth(10)
    @ExcelProperty(value = "姓名", order = 0)
    @ApiModelProperty(value = "考生姓名")
    private String examineeName;

    @ColumnWidth(10)
    @ExcelProperty(value = "性别", order = 1)
    @ApiModelProperty(value = "考生性别描述")
    private String examineeSexDesc;

    @ColumnWidth(15)
    @ExcelProperty(value = "准考证号", order = 2)
    @ApiModelProperty(value = "准考证号")
    private String admissionSerialNumber;

    @ColumnWidth(15)
    @ExcelProperty(value = "证件类型", order = 3)
    @ApiModelProperty(value = "证件类型描述")
    private String identificationTypeDesc;

    @ColumnWidth(25)
    @ExcelProperty(value = "证件号码", order = 4)
    @ApiModelProperty(value = "证件号码")
    private String identificationNo;

    @ColumnWidth(18)
    @ExcelProperty(value = "手机号码", order = 5)
    @ApiModelProperty(value = "手机号")
    private String examineePhone;

    @ColumnWidth(15)
    @ExcelProperty(value = "报考科目", order = 6)
    @ApiModelProperty(value = "科目名称")
    private String subjectName;
    
    @ExcelIgnore
    @ApiModelProperty(value = "考试开始时间")
    private Date examineStartTime;
    
    @ExcelIgnore
    @ApiModelProperty(value = "考试结束时间")
    private Date examineEndTime;

    @ColumnWidth(20)
    @ExcelProperty(value = "考试时间", order = 7)
    @ApiModelProperty(value = "考试时间")
    private String examineeTime;

    @ColumnWidth(15)
    @DateTimeFormat(DatePattern.NORM_DATE_PATTERN)
    @ExcelProperty(value = "生成日期", converter = LocalDateTimeConverter.class, order = 9)
    @ApiModelProperty(value = "准考证生成时间")
    private LocalDateTime generateData;

    @ExcelIgnore
    @ApiModelProperty(value = "生成状态：1-已发放，2-未发放")
    private Boolean generateStatus;
    
    @ColumnWidth(10)
    @ExcelProperty(value = "准考证状态", order = 10)
    @ApiModelProperty(value = "生成状态：1-已发放，2-未发放")
    private String generateStatusDesc;
    
    
    @ColumnWidth(10)
    @ExcelProperty(value = "准考证操作类型", order = 11)
    @ApiModelProperty(value = "生成状态：1-查看，2-下载")
    private String operateTypeDesc;
    
    @ColumnWidth(20)
    @ExcelProperty(value = "准考证操作时间", converter = LocalDateTimeConverter.class, order = 12)
    @ApiModelProperty(value = "生成状态：1-已发放，2-未发放")
    private LocalDateTime operateDate;
    
    
}
